package com.nanyang.tms.api.dto.request.product.update;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

@Data
public class PruductRuleUpdateRequest implements Serializable {

    private static final long serialVersionUID = 2211977034226270426L;

    /**
     * 规则编码
     */
    @Length(max = 32, message = "ruleCode长度需小于32个字符")
    private String ruleCode;

    /**
     * 标签模板编码
     */
    @Length(max = 32, message = "tagCode长度需小于32个字符")
    private String tagCode;

    /**
     * 标签模板名称
     */
    @Length(max = 50, message = "tagName长度需小于50个字符")
    private String tagName;

    /**
     * 形式发票模板编码
     */
    @Length(max = 32, message = "invoiceCode长度需小于32个字符")
    private String invoiceCode;

    /**
     * 形式发票模板名称
     */
    @Length(max = 50, message = "invoiceName长度需小于50个字符")
    private String invoiceName;

    /**
     * 出货包装类型编码
     */
    @Length(max = 20, message = "cargoTypeCode长度需小于32个字符")
    private String cargoTypeCode;

    /**
     * 出货包装类型名称
     */
    @Length(max = 30, message = "cargoTypeName长度需小于30个字符")
    private String cargoTypeName;

    /**
     * 服务商预报模板编码
     */
    @Length(max = 32, message = "forecastCode长度需小于32个字符")
    private String forecastCode;

    /**
     * 服务商预报模板名称
     */
    @Length(max = 50, message = "forecastName长度需小于50个字符")
    private String forecastName;

    /**
     * 单号种类编码
     */
    @NotEmpty(message = "单号种类编码不能为空")
    @Length(max = 32, message = "ticketTypeCode长度需小于32个字符")
    private String ticketTypeCode;

    /**
     * 单号种类名称
     */
    @NotEmpty(message = "单号种类名称不能为空")
    @Length(max = 50, message = "ticketTypeName长度需小于50个字符")
    private String ticketTypeName;

}
